<?php
include_once "topo.php";
if(logado()){
    $protocolo = new protocolo();
    $evento = new evento();
    
    if(valida::numero($_GET["id"])){
        $id = $_GET["id"];
        $protocolo->carregar($id);
    }
    
    $sql_acesso = "INSERT INTO ci_acesso(id_despachante, id_protocolo, dt_acesso) values('".$_SESSION["ci_user_id"]."', '".$protocolo->get_id()."', '".date("Y-m-d H:i:s")."')";
    $db = new db(config::$driver);
    $conexao = $db->conecta();
    $db->query($sql_acesso, $conexao);
    $db->close($conexao);
    
    if($_POST["btn_salvar"] == "Enviar"){
        $erro = 0;
        $e = '';
        
        if(!$evento->set_id_despachante($_SESSION["ci_user_id"])){ $erro = 1; $e .= '0';}
        
        if(!$evento->set_id_destinatario($_POST["destinatario"])){ $erro = 1; $e .= '3';}
        if(!$evento->set_id_protocolo($protocolo->get_id())){ $erro = 1; $e .= '1';}
        if(!$evento->set_id_status($_POST["status"])){ $erro = 1; $e .= '2';}
        if(!$evento->set_descricao($_POST["descricao"])){ $erro = 1; $e .= '3';}
        
        if($erro == 0){
            $protocolo->set_id_destinatario($_POST["destinatario"]);
            $protocolo->salvar();
            $id_evento = $evento->salvar();
            $log = new log('ci_evento', $id_evento, "O usiário ".$_SESSION["ci_user_login"]." criou um evento");
            $log->salvar();
            unset($log);
            
            $usuario = new despachante();
            $usuario->carregar($evento->get_id_destinatario());
            $email = $usuario->get_email();

            $email_assunto = "Alteração do status de protocolo Comunicação Interna";
            
            $email_mensagem  = "Olá ".$usuario->get_nome().",\n\n";
            $email_mensagem .= "O remetente ".$protocolo->get_interessado()." direcionou um protocolo para a sua análise:\n\n";
            $email_mensagem .= "Protocolo N°: ".$protocolo->get_id()."\n\n";
            $email_mensagem .= "Assunto: ".$protocolo->get_assunto()."\n\n";
            $email_mensagem .= "Status/Descrição: ".$protocolo->get_descricao()."\n\n";
            $email_mensagem .= "Descrição/Despacho: ".$evento->get_descricao()."\n\n";
			$email_mensagem .= "Acesse o sistema de Comunicação Interna da Uningá:\nhttp://www.ca.uninga.br/ci/ \n\n";
            
            if(!mail($email, utf8_decode($email_assunto), utf8_decode($email_mensagem), "From: protocolo@uninga.br") && $email != ''){
                $log = new log('', '', "Não foi possível enviar e-mail para $email");
                $log->salvar();
                unset($log);
                echo "<script>alert('Falha ao enviar o e-mail, tente enviar pessoalmente!');</script>";
            }else{
                $log = new log('', '', "E-mail enviado para $email");
                $log->salvar();
                unset($log);
            }
            unset($evento);
            unset($protocolo);
            header("location: index.php");
        }
    }else{
        $evento->carregar_ultimo($protocolo->get_id());
        if($evento->get_lido() == 0 && $evento->get_id_destinatario() == $_SESSION["ci_user_id"]){
            $evento->set_lido(1);
            $evento->salvar();
        }
    }
    
    if($_SESSION["ci_user_nivel"] != '1'){
        $acessa = 0;
        
        if($protocolo->get_id_interessado() == $_SESSION["ci_user_id"]){
            $acessa = 1;
        }else{
            $sql = "select id_destinatario from ci_evento where id_protocolo = '$id'";
            $db = new db(config::$driver);
            $conexao = $db->conecta();
            $result = $db->query($sql, $conexao);
            
            while($id_dest = $db->fetch_array($result)){
                if($id_dest[0] == $_SESSION["ci_user_id"]){
                    $acessa = 1;
                }
            }
            
            $db->close($conexao);
        }
        
        if($acessa == 0){
            unset($protocolo);
            header("location: index.php");
        }
    }
    
    if($_POST["btn_enviar"] == "Enviar"){
        $i= 0;
        $erro = 0;
        while($_FILES["arquivo"]["name"][$i] != ''){
            if($_FILES["arquivo"]["error"][$i] == 0){
                $nome = $protocolo->get_id()."_".$_FILES["arquivo"]["name"][$i];
                if(move_uploaded_file($_FILES["arquivo"]["tmp_name"][$i], "arquivos/$nome")){
                    $arquivo = new arquivo();
                    if(!$arquivo->set_id_protocolo($id_protocolo)){$erro = 1;}
                    if(!$arquivo->set_arquivo($nome)){$erro = 1;}

                    if($erro == 0){
                        $arquivo->salvar();
                        unset($arquivo);
                    }else{
                        unset($arquivo);
                        break;
                    }
                }
            }
            $i++;
        }

        if(!$protocolo->set_id_assunto($_POST["assunto"])){$erro = 1;}
        if(!$protocolo->set_descricao($_POST["descricao"])){$erro = 1;}
        
        if($erro == 0){
            $id_protocolo = $protocolo->salvar();
            
            $log = new log('ci_assunto', $id_protocolo, "O usiário ".$_SESSION["ci_user_login"]." alterou o protocolo");
            $log->salvar();
            unset($log);
        }
    }
    ?>
            <h3>CI</h3>
            Nº CI: <label><?=$protocolo->get_id()?></label><br><br>
            Remetente: <label><?=$evento->get_despachante()?></label><br><br>
            Criado em: <label><?=$protocolo->get_dt_entrada()." ".$protocolo->get_hr_entrada()?></label><br><br>
            Assunto: <label><?=$protocolo->get_assunto()?></label><br><br>
            Destinatário: <label><?=$protocolo->get_destinatario()?></label><br><br>
            Descrição: <br><textarea id="mostra_descri" readonly><?=$protocolo->get_descricao()?></textarea><br><br>
            <br><br>
            <?php //if($_SESSION["ci_user_id"] == $protocolo->get_id_interessado() || $_SESSION["ci_user_tipo"] == 1){ ?>
            <form action="" method="post" enctype="multipart/form-data">
                <?php if($protocolo->get_arquivo() != ''){ ?>
                Arquivo <label><a href="<?="arquivos/".$protocolo->get_arquivo()?>" title="<?=$protocolo->get_arquivo()?>"><?=$protocolo->get_arquivo()?></a> </label>
                <?php
                }else{
                    echo "
                    Arquivos
                    <br>
                    ";
                    $sql_arq = "SELECT * FROM ci_arquivo WHERE id_protocolo = '".$protocolo->get_id()."'";
                    $db_arq = new db(config::$driver);
                    $con_arq = $db_arq->conecta();
                    $res_arq = $db_arq->query($sql_arq, $con_arq);
                    $db_arq->close($con_arq);
                    while($arq = $db_arq->fetch_array($res_arq)){
                        echo "
                        <label><a href='arquivos/".$arq["arquivo"]."' title='".$arq["arquivo"]."' target='_blank'>".$arq["arquivo"]."</a> </label><br>";
                    }
                } ?>
                <br>
                <input type="file" name="arquivo[]" value="">
                <br>
                <input type="file" name="arquivo[]" value="">
                <br>
                <input type="file" name="arquivo[]" value=""><br><br>

                <button type="submit" name="btn_enviar" value="Enviar">Enviar</button>
            </form>
            
            <br>
            <h3>Evento</h3>
            Situação: <label><?=$protocolo->get_status()?></label><br><br>
            Despacho: <label><?=$protocolo->get_status_msg()?></label><br><br>
            <form action="?id=<?=$protocolo->get_id()?>" method="post">
                <input type="hidden" name="protocolo" value="<?=$protocolo->get_id()?>">
                Destinatário<br>
                <select name="destinatario">
                    <!--<option value="0"> -- Selecione um destinatário -- </option>-->
                    <?php
                    
                    $sql_usuario = "select id from ci_despachante";
                    if($_SESSION["ci_user_titulo"] == "Coordenador(a)"){
                        $sql_usuario .= " where titulo <> 'Diretor(a) Geral'";
                    }
                    $sql_usuario .= " order by id_titulo,nome";
                    
                    $db = new db(config::$driver);
                    $conexao = $db->conecta();
                    $res_usuario = $db->query($sql_usuario, $conexao);
                    $db->close($conexao);
                    $titulo = '';
                    while($id_s = $db->fetch_array($res_usuario)){
                        
                        $sql_rel = "select count(*) from ci_rel_usuario where (usuario1 = '".$id_s[0]."' and usuario2 = '".$_SESSION["ci_user_id"]."') or (usuario2 = '".$id_s[0]."' and usuario1 = '".$_SESSION["ci_user_id"]."')";
                        $db_rel = new db(config::$driver);
                        $con_rel = $db_rel->conecta();
                        $res_rel = $db_rel->query($sql_rel, $con_rel);
                        $db_rel->close($con_rel);
                        $is_rel = $db_rel->fetch_array($res_rel);
                        unset($db_rel);

                        if($is_rel[0] == 0){
                            $usuario = new despachante();
                            $usuario->carregar($id_s[0]);

                            if($usuario->get_titulo() != $titulo){
                                if($titulo != ''){
                                    echo "
                    </optgroup>";
                                }
                                $titulo = $usuario->get_titulo();
                                echo "
                    <optgroup label='$titulo'>";
                            }

                            echo "
                    <option value='".$usuario->get_id()."'";
                            if($usuario->get_id() == $protocolo->get_id_destinatario()){ echo "selected"; }
                            echo "> ".$usuario->get_nome()." </option>
                        ";
                            unset($usuario);
                        }
                    }
                    if($titulo != ''){
                        echo "
                    </optgroup>";
                    }
                    ?>
                    
                </select>
                <br><br>
                Status<br>
                <select name="status">
                    <!--<option value="0"> -- Selecione um status -- </option>-->
                    <?php
                    $sql = "select id from ci_status";
                    $db = new db(config::$driver);
                    $conexao = $db->conecta();
                    $result = $db->query($sql, $conexao);
                    $db->close($conexao);
                    while($id_s = $db->fetch_array($result)){
                        $status = new status();
                        $status->carregar($id_s[0]);
                        echo "
                    <option value='".$status->get_id()."'";
                        if($status->get_descricao() == $protocolo->get_status()){ echo "selected"; }
                        echo "> ".$status->get_descricao()." </option>
                    ";
                    }
                    unset($status);
                    ?>
                </select>
                <br><br>
                Descrição<br>
                <textarea name="descricao"></textarea><br><br>
                
                <button type="submit" name="btn_salvar" value="Enviar">Enviar</button>
            </form>
            <br><br>
            <h3>Histórico de status</h3>
            <table>
                <tr>
                    <th>Remetente</th>
                    <th>Situação</th>
                    <th>Enviado em</th>
                    <th>Descrição</th>
                    <th>Destinatário</th>
                </tr>
                
                <?php
                $sql = "select id from ci_evento where id_protocolo = '".$protocolo->get_id()."' order by id";
                $db = new db(config::$driver);
                $ev = $db->select($sql);
                $i = 0;
                $zb = 0;
                
                while($ev[$i]){
                    $evento_h = new evento();
                    $evento_h->carregar($ev[$i][0]);
                    $data = $evento_h->get_dt_despacho()." ".$evento_h->get_hr_despacho();
                    if($zb == 0){
                        echo "<tr class='zb'>";
                        $zb = 1;
                    }else{
                        echo "<tr>";
                        $zb = 0;
                    }
                    echo "
                        <td>".$evento_h->get_despachante()."</td>
                        <td>".$evento_h->get_status()."</td>
                        <td>$data</td>
                        <td>".$evento_h->get_descricao()."</td>
                        <td>".$evento_h->get_destinatario()."</td>
                    </tr>
                    ";
                    $i++;
                    unset($evento_h);
                }
                ?>
            </table>
            <br><br>
            <h3>Histórico de visualizações</h3>
            <table>
                <tr>
                    <th>usuário</th>
                    <th>Visualizado em:</th>
                </tr>
                <?php
                //$sql = "select * from ci_acesso where id_protocolo = '".$protocolo->get_id()."' order by dt_acesso";
                $sql = "SELECT d.nome, a.dt_acesso FROM ci_acesso a, ci_despachante d WHERE a.id_protocolo = '".$protocolo->get_id()."' AND a.id_despachante = d.id";
                $db = new db(config::$driver);
                $conexao = $db->conecta();
                $result = $db->query($sql, $conexao);
                $zb = 0;
                while($acesso = $db->fetch_array($result)){
                    if($zb == 0){
                        echo "<tr class='zb'>";
                        $zb = 1;
                    }else{
                        echo "<tr>";
                        $zb = 0;
                    }
                    
                    $data = substr($acesso["dt_acesso"], 0, 10);
                    $hora = substr($acesso["dt_acesso"], 11);
                    $data = data_ptbr($data);

                    echo "
                        <td>".$acesso["nome"]."</td>
                        <td>$data $hora</td>
                    </tr>
                    ";
                }
                ?>
            </table>
    <?php
}else{
    header("location: login.php");
}
include_once "rodape.php";
?>
